Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Rendered • View rawDownload


CHANGELOG.md bc40dcff4e157bd8bd3fc509428b0b34778ab7e6 (bc40dcff) Text, 9.10 KB

Changelog

All notable changes to this project will be documented in this file.

[4.0.0] - 2026-01-03

Season 1 Episode 1 - A MASSIVE REFACTOR

New Features

Maps: You can now draw and doodle directly on the map to mark locations or plan routes.
Calls & Audio:
• Added support for custom ringtones and a brand-new ringtone editor.
• New Audio Waveform Visualization for voice messages, providing interactive playback with a visual waveform representation.
Paper Messages: Introduced a tool for generating and scanning paper-based messages with built-in QR code generation for easy sharing.
Documentation: You can now read all the project guides and help docs directly inside the app.
Reliability:
• If the app ever crashes, it's now much better at picking up right where it left off without losing your data.
• Added Identity Switch Recovery: mechanism to restore previous identities or create emergency failsafes if a switch fails.
• Multi-Identity "Keep-Alive": Identities can now be kept active in the background when switching, ensuring you still receive messages and calls across all your personas.
• Added Database Snapshotting & Auto-Backups: You can now create named snapshots of your database and the app will perform automatic backups every 12 hours.
• Added Emergency Comms Mode: A lightweight mode that bypasses database storage and non-essential managers, useful for recovering from corrupted data or running in restricted environments. Can be engaged via UI, CLI flag (T383838--emergency), or environment variable (T383838MESHCHAT_EMERGENCY=1).
• Added Snapshot Restoration: Ability to restore from a specific snapshot on startup via T383838--restore-from-snapshot or T383838MESHCHAT_RESTORE_SNAPSHOT environment variable.
Diagnostics:
• New Debug Logs Screen: View and export internal system logs directly from the UI for easier troubleshooting.
Community: Better support for community-run network interfaces and checking TCP ping status of suggested interfaces.
UI Tweaks: Added a new confirmation box for important actions and a better sidebar for browsing your archived messages.
Micron Editor: Added multi-tab support with IndexedDB persistence, tab renaming, and a full editor reset button.
Desktop Enhancements (Electron):
Multi-Window Calls: Optional support for popping active calls into a focused 2nd window.
System Tray Integration: The app now minimizes to the system tray, keeping you connected to the mesh in the background.
Native Notifications: Switched to system-native notifications with deep-linking (click to focus conversation).
Protocol Handling: Register as default handler for T383838lxmf:// and T383838rns:// links for seamless cross-app navigation.
Hardware Acceleration Toggle: Power-user setting to disable GPU acceleration if flickering or glitches occur.
Power Management: Automatically prevents system sleep during active audio calls to maintain RNS path stability.

Improvements

Blazingly Fast Performance:
Network Rendering: The Network Visualizer now uses intelligent batching to handle hundreds of nodes without freezing your screen.
Memory Optimization: Added a smart icon cache that automatically clears itself to keep the app's memory footprint low.
Parallel Loading: The app now fetches network data in parallel, cutting down startup and refresh times significantly.
Lazy Loading: Documentation and other heavy components now load only when you need them, making the initial app launch much faster.
Smoother Settings: Changing settings now uses "smart saving" (debouncing) to prevent unnecessary disk work and keep the interface responsive.
Backend Efficiency: A massive core refactor and new database optimizations make message handling and search nearly instantaneous. Added pagination to announce and discovery lists to improve performance in large networks.
Calling: The call screen and overlays have been completely redesigned to look better and work more smoothly.
Messaging: We've polished the message lists and archive views to make them easier to navigate.
Network View: The visualizer that shows your network connections is now much clearer and easier to understand.
Languages: Updated translations for English, German, and Russian. Added a toggle to easily enable or disable translation services.
Search: The command palette (quick search) and notification bell are now more useful.

Bug Fixes

• Fixed issues where switching between different identities could sometimes cause glitches.
• Fixed several small bugs that could cause messages to get stuck or out of order.
• Lots of small UI fixes to make buttons and menus look right on different screens.
• Fixed glitchy message page

Technical

Backend Architecture:
• Decoupled logic into new specialized managers: T383838community_interfaces.py, T383838docs_manager.py, T383838identity_manager.py, T383838voicemail_manager.py, and T383838nomadnet_utils.py.
• Added specialized utility modules: T383838meshchat_utils.py, T383838lxmf_utils.py, T383838async_utils.py, and T383838identity_context.py.
• Implemented a robust state-based crash recovery system in T383838src/backend/recovery/.
Self-Healing Database Schema: Enhanced T383838DatabaseSchema with automatic column synchronization to prevent crashes when upgrading from older versions with missing columns.
• Enhanced database layer with T383838map_drawings.py and improved T383838telephone.py schema for call logging.
• Standardized markdown processing with a new T383838markdown_renderer.py.
• Added pagination support for announce queries in T383838AnnounceManager.
Performance Engineering & Memory Profiling:
• Integrated a comprehensive backend benchmarking suite (T383838tests/backend/run_comprehensive_benchmarks.py) with high-precision timing and memory delta tracking.
• Added an EXTREME Stress Mode to simulate ultra-high load scenarios (100,000+ messages and 50,000+ announces).
• Implemented automated memory leak detection and profiling tests using T383838psutil and custom T383838MemoryTracker utilities.
Full-Stack Integrity & Anti-Tampering:
• Implemented Backend Binary Verification: The app now generates a SHA-256 manifest of the unpacked Python backend during build and verifies it on every startup in Electron.
• Added Data-at-Rest Integrity Monitoring: The backend now snapshots the state of identities and database files on clean shutdown and warns if they were modified while the app was closed.
• New Security Integrity Modal: Notifies the user via a persistent modal if any tampering is detected, with a version-specific "do not show again" option.
Frontend Refactor:
• Migrated complex call logic into T383838CallOverlay.vue and T383838CallPage.vue with improved state management.
• Implemented modular UI components: T383838ArchiveSidebar.vue, T383838RingtoneEditor.vue, T383838ConfirmDialog.vue, and T383838AudioWaveformPlayer.vue.
• Integrated a new documentation browsing system in T383838src/frontend/components/docs/.
• Added custom Leaflet integration for map drawing persistence in T383838MapPage.vue.
Infrastructure:
• Added T383838Dockerfile.build for multi-stage container builds.
• Introduced T383838gen_checksums.sh for release artifact integrity.
• Expanded test coverage with 40+ new unit and integration tests across T383838tests/backend/ and T383838tests/frontend/.
• Updated core dependencies: T383838rns, T383838lxmf, T383838aiohttp, and T383838websockets.
Developer Tools & CI:
• New T383838task commands: T383838bench-backend (Standard suite), T383838bench-extreme (Breaking Time and Space), T383838profile-memory (Leak testing), and T383838bench (Full run).
• Added Gitea Actions workflow (T383838bench.yml) for automated performance regression tracking on every push.
Utilize Electron 39 features:
• Enabled ASAR Integrity Validation (Stable in E39) to protect the application against tampering.
• Hardened security by disabling T383838runAsNode and T383838nodeOptions environment variables via Electron Fuses.
• Implemented 3-Layer CSP Hardening: Multi-layered Content Security Policy protection across the entire application stack:
1. Backend Server CSP (T383838meshchatx/meshchat.py): Applied via T383838security_middleware to all HTTP responses, allowing localhost connections, websockets, and required external resources (OpenStreetMap tiles, etc.).
2. Electron Session CSP (T383838electron/main.js): Shell-level fallback CSP applied via T383838webRequest.onHeadersReceived handler to ensure coverage before the backend starts and for all Electron-rendered content.
3. Loading Screen CSP (T383838electron/loading.html): Bootloader CSP defined in HTML meta tag to protect the initial loading screen while waiting for the backend API to come online.
• Added hardware acceleration monitoring to ensure the Network Visualiser and UI are performing optimally.


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────